package com.zwj.interview.BFS;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;

/**
 * @Author: Zwj
 * @Date: 2022/9/19 16:07
 */
public class 二叉树层序遍历 {

    public List<List<Integer>> levelOrder(TreeNode root){
         List<List<Integer>> result=new ArrayList<>();
         if(root==null){
             return result;
         }
        Queue<TreeNode> queue=new LinkedList<>();
         queue.offer(root);
         while(!queue.isEmpty()){
            int size=queue.size();
            List<Integer> list=new ArrayList<>();
            for(int i=0;i<size;i++){
                TreeNode cur = queue.poll();
                list.add(cur.val);
                if(cur.left!=null){
                   queue.offer(cur.left);
                }
                if(cur.right!=null){
                   queue.offer(cur.right);
                }
            }
            //一层遍历完了，加入结果集
            result.add(list);
         }
         return result;
    }


    }